package com.dianxin.smartpark.service.visitor;

import java.util.List;

import com.chinatelecom.response.common.CommonResponseBody;
import com.dianxin.smartpark.dao.qo.visitor.SmartParkVisitorSpecialUserQO;
import com.dianxin.smartpark.service.validation.Save;
import com.dianxin.smartpark.service.vo.visitor.SmartParkVisitorSpecialUserVO;
import org.springframework.validation.annotation.Validated;
import com.dianxin.smartpark.service.validation.Delete;
import com.dianxin.smartpark.service.validation.Save;
import com.dianxin.smartpark.service.validation.Update;

/**
 * 特殊用户接口
 * 
 * @author chenjiasong
 * @date 2021-08-04
 */
public interface SmartParkVisitorSpecialUserService
{
    /**
     * 查询特殊用户
     * 
     * @param smartParkVisitorSpecialUserqo 特殊用户
     * @return 特殊用户
     */
    CommonResponseBody<SmartParkVisitorSpecialUserVO> selectSmartParkVisitorSpecialUser(SmartParkVisitorSpecialUserQO smartParkVisitorSpecialUserqo);

    /**
     * 查询特殊用户列表
     * 
     * @param smartParkVisitorSpecialUserqo 特殊用户
     * @return 特殊用户集合
     */
    CommonResponseBody<List<SmartParkVisitorSpecialUserVO>> selectSmartParkVisitorSpecialUserList(SmartParkVisitorSpecialUserQO smartParkVisitorSpecialUserqo);

    /**
     * 新增特殊用户
     * 
     * @param smartParkVisitorSpecialUservo 特殊用户
     * @return 结果
     */
    @Validated(Save.class)
    CommonResponseBody<Boolean> insertSmartParkVisitorSpecialUser(SmartParkVisitorSpecialUserVO smartParkVisitorSpecialUservo);

    /**
     * 修改特殊用户
     * 
     * @param smartParkVisitorSpecialUservo 特殊用户
     * @return 结果
     */
    @Validated(Update.class)
    CommonResponseBody<Boolean> updateSmartParkVisitorSpecialUser(SmartParkVisitorSpecialUserVO smartParkVisitorSpecialUservo);

    /**
     * 删除特殊用户信息
     * 
     * @param vo 特殊用户
     * @return 结果
     */
    @Validated(Delete.class)
    CommonResponseBody<Boolean> deleteSmartParkVisitorSpecialUser(SmartParkVisitorSpecialUserVO vo);
}
